﻿//------------------------------------------------------------
// GenericPool
// Copyright © 2025 Mao Yin Hang. All rights reserved.
//------------------------------------------------------------
/*
namespace BaseStateMachine
{
    public class TestBaseState : BaseState
    {
        public override void OnEnter(){}
        public override void OnLeave(){}
    }
    public class TestState1 : TestBaseState
    {
        public override void OnEnter(){}
        public override void OnLeave(){}
    }
    public class TestState2 : TestBaseState
    {
        public override void OnEnter(){}
        public override void OnLeave(){}
    }
    public class TestMachine : BaseStateMachine<TestBaseState>
    {
        public override T? GetState<T>() where T :class{return null;}
        public override void ReleaseState<T>(T? state) where T : class{}
    }
    public class TestState3 
    { 
    }
    public struct TestState4
    { 
    }
    public class Test()
    {
        public void Run()
        {
            TestMachine machine = new TestMachine();
            machine.ChangeState<TestState1>();
            machine.ChangeState<TestState2>();
            machine.ChangeState<TestState3>();//CS0311 失败
            machine.ChangeState<TestState4>();//CS0315 失败
        }
    }
}
*/